This invention relates to remote computer communications.
A computer bulletin board system is a popular means for communication between computers. It typically consists of a computer connected to one or more telephone lines, and program which interfaces to the telephone lines, sends menus, and exchanges messages and files. Such a computer configuration is shown in FIG. 1. The computer bulletin board acts as a server, and the computers which access it act as terminals. There might be more terminals than telephone lines being that not all the terminals are connected at once.
Most computer bulletin boards are designed to be usable by dumb (non-programmable) terminals. The bulletin board sends ASCII text, which scrolls across the screen of the terminal. Some have some special commands (eg, escape sequences) for things like moving the cursor or clearing the screen, but the basic operation is mainly that of sending raw text back and forth.
CompuServe is a major such service. Users can connect in a raw text mode, with a typical session consisting of a user issuing text commands and the system responding with text messages. There are user programs available which provide a friendlier front-end and automate some tasks, but they are still limited to doing one thing at a time.
Prodigy, a computer bulletin board service sponsored by IBM and Sears, does not follow this model and offers interactive graphics, but does not act as a server to a terminal program. The user is required to run a special program which interacts with Prodigy. You cannot cancel commands, download files, or automate requests.
None of these computer bulletin board services use packet servers as described in this invention. They cannot do background file transfers, local menus, or graphics which is both interactive and can be automated.
Existing communications protocols are limited in that even though the computers at both ends might be multi-tasking, only one task monopolizes the communications channel.
Microsoft Windows offers communications capabilities and a form of multitasking on personal computers. With it you can, for example, log into CompuServe on a telephone line, initiate a file transfer, and then switch to another task such as word processing so that functions can be performed while the file transfer is taking place. This is commonly referred to as a background file transfer. However, you cannot use the telephone line or the CompuServe connection for any other purpose while the file transfer is taking place.
As a result, usage of computer bulletin board services is severely constrained by primitive user interfaces and by communications bottlenecks.
Lubarsky et al disclose a system for processing digitized telephone calls in a computer network. It uses packet-based serial communications, error correcting codes, encryption, multiplexing, and packets which have commands for controlling the system. It has advantages for interfacing with telephone equipment of varying speed and reliability. However, it does not provide the end user with any new functionality. Each telephone is available for one telephone call at a time.
Most of these prior art networks, including those mentioned here, are modeled after a scheme where the central computer is the master and the remote computers are slaves. Such a model has drawbacks in that it imposes limitations on the remote computers.
Accordingly, it is an object of this invention to create a remote computer communications system which:
(a) allows as much processing as possible to take place on the local terminal.
(b) allows tasks to run in the background, so the remote computer is always responsive to commands and no single task monopolizes the communications channel.
(c) allows modern user interfaces.
(d) makes efficient use of the communications channel.
(e) can interface reliably and effectively with different kinds of computers.